﻿using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;

namespace Scheduler.Model
{
    /// <summary>
    /// 角色表
    /// </summary>
   // [Table("role")]
    [Comment("角色表")]
    public class Role : BaseEntity
    {
        //public Role()
        //{
        //    OrderSort = 1;
        //    CreateTime = DateTime.Now;
        //    ModifyTime = DateTime.Now;
        //    IsDeleted = false;
        //}
        //public Role(string name)
        //{
        //    Name = name;
        //    Description = "";
        //    OrderSort = 1;
        //    Enabled = true;
        //    CreateTime = DateTime.Now;
        //    ModifyTime = DateTime.Now;

        //}

        /// <summary>
        /// 角色名
        /// </summary>
        [Comment("角色名")]
        [Required]
        [StringLength(50)]
        public string Name { get; set; }
        /// <summary>
        ///描述
        /// </summary>
        [Comment("描述")]
        [StringLength(100)]
        public string Description { get; set; }
        /// <summary>
        ///排序
        /// </summary>
        [Comment("排序")]
        public int OrderSort { get; set; }
        /// <summary>
        /// 自定义权限的部门ids
        /// </summary>
        [Comment("自定义权限的部门ids")]
        [StringLength(500)]
        public string? Dids { get; set; }
        /// <summary>
        /// 权限范围
        /// -1 无任何权限；1 自定义权限；2 本部门；3 本部门及以下；4 仅自己；9 全部；
        /// </summary>
        [Comment("权限范围 -1 无任何权限；1 自定义权限；2 本部门；3 本部门及以下；4 仅自己；9 全部；")]
        public int AuthorityScope { get; set; } = -1;
        /// <summary>
        /// 是否激活
        /// </summary>
        [Comment("是否激活")]
        public bool Enabled { get; set; }
    }
}
